The deregulation of telecommunication markets and the introduction of new concepts such as advanced intelligent networks (AIN) and universal personal telecommunications (UPT), incorporating the ability to customize services, have resulted in rapid growth of the number of services demanded by and offered to telecommunication customers. This growth is projected to continue for the foreseeable future.
The projected increase in the number of services requires increased sophistication and complexity of service-providing systems, and creates the potential of an explosive increase in the number of service interaction problems. In mathematical terms, the number of interaction problems, related to the number of services (n), may potentially be as high as n-factorial (n!). Fortunately, in practice, the number of service interaction problems is limited below this theoretical maximum by service definition and other telecommunication factors. However, the total number of service interaction problems that must be recognized and solved is still very large and increasing.
The conventional method used to solve these interactions is generally imbedded in the specific implementation of a particular service. This makes the upgrade of a telecommunication system with new services costly and time consuming. The combination of costly, time-consuming upgrades and the rapid development of new system concepts and service offerings requires a comprehensive solution to the service interaction problem.
For a number of years, attempts have been made to solve service interaction problems without any measurable success. In some cases, the service interaction problems have been so numerous, that the proposed solutions were extremely complex and difficult to implement. In other cases, the proposed solutions are only partial solutions that do not provide an ultimate method of handling the service interaction problem.
For example, in U.S. Pat. No. 4,479,196 to Ferrer et al. (Ferrer), a database management system in the form of a state machine is disclosed. Ferrer associates a specific incoming request with internally stored data using predefined relationships which are specifically defined for a particular application. It would be advantageous, however, to have a generic coordination mechanism, such as the mechanism of the present invention, which utilizes two state machines operating at different functional levels in order to provide generic solutions for service interaction problems.
U.S. Pat. No. 4,695,977 to Hansen et al. (Hansen '977) discloses a telecommunication system for the switching of voice and data communications by a computer. The computer performs basic call processing by executing program scripts to perform the sequential processing of events and signals based on a finite state machine and the priority between events. Service interaction problems are solved by the Hansen '977 system based on the priority assigned to each script. It would be advantageous to have a generic coordination mechanism, such as the mechanism of the present invention, which separates service interaction handling from the basic call processing state machine. With such a mechanism, the service interaction handling is not restricted to pre-established priorities between events. Furthermore, the present invention operates entirely on data related to service interaction, and can utilize this data to define different service interaction criteria depending on customer requirements and the application concerned.
Likewise, U.S. Pat. No. 4,272,575 to Hansen et al. (Hansen '575) discloses a system for sequentially processing a telephone call based on detected events and event-processing results. This processing is part of the processing used in intelligent networks to control the execution and establishment of a basic call. Services may be controlled by the Hansen '575 system, but the control is part of the basic call state machine, and its capabilities are necessarily limited when compared to the generic coordination mechanism of the present invention. The generic coordination mechanism separates the service interaction handling from the basic call processing and, therefore, can define different service interaction criteria depending on customer requirements and the application concerned.
In U.S. Pat. No. 4,782,517 to Bernardis et al. (Bernardis), a telephone system is disclosed which allows a user to provide new services without reloading a new version of the system software. Although the Bernardis system monitors and processes events and modifies state transition rules, it does not handle service interactions. It would be a distinct advantage to have a generic coordination mechanism, such as the mechanism of the present invention, which is dedicated to solving the service interaction problem without interfering with basic call processing. The coordination mechanism of the present invention does not define or provide new services, but strictly handles service interaction data for improved reliability. Additionally, the generic coordination mechanism includes "hard coded" software which operates according to defined coordinator characteristics, and reports back stored service interaction data in accordance with defined service interaction criteria.
Thus, the generic coordination mechanism of the present invention is a generic service interaction handler capable of controlling the growth of service interaction complexity, minimizing influence on other service implementations, enabling a rapid service offering, and providing increased reliability of telecommunication systems.